головне меню список тем тестування презентації історія створення

 

4.10. Додаткові модулі МК

Описані вище модулі складають так званий базовий комплект МК і входять до складу будь-якого сучасного контроллера. Очевидна необхідність включення до складу МК додаткових модулів, склад і можливості яких визначаються конкретною вирішуваною задачею. Серед таких додаткових модулів слід, перш за все, відзначити:

  • модулі послідовного вводу/виводу даних;
  • модулі аналогового вводу/виводу.

4.10.1. Модулі послідовного вводу/виводу

Наявність у складі 8-розрядного МК модуля контролера послідовного вводу/виводу стала останнім часом звичайним явищем. Задачі, які розв'язуються засобами модуля контролера послідовного вводу/виводу, можна розділити на три основні групи:

  • зв'язок вбудованої мікроконтролерної системи з системою управління верхнього рівня, наприклад, з персональним комп'ютером. Частіше за все для цієї мети використовуються інтерфейси RS-232C і RS-485;
  • зв'язок із зовнішніми по відношенню до МК периферійними ІС, а також з датчиками фізичних величин з послідовним виходом. Для цих цілей використовуються інтерфейси I2C, SPI, а також нестандартні протоколи обміну;
  • інтерфейс зв'язку з локальною мережею в мультиконтролерних системах. В системах з числом МК до п'яти звичайно використовуються мережі на основі інтерфейсів I2C, RS-232C і RS-485 з власними мережними протоколами високого рівня. В складніших системах все більш популярним стає протокол CAN.

З погляду організації обміну інформацією згадані типи інтерфейсів послідовного зв'язку відрізняються режимом передачі даних (синхронний або асинхронний), форматом кадру (число біт в посилці при передачі байта корисної інформації) і тимчасовими діаграмами сигналів на лініях (рівні сигналів і положення фронтів при перемиканнях).
Число ліній, по яких відбувається передача в послідовному коді, звичайно рівне двом (I2C, RS-232C, RS-485) або трьом (SPI, деякі нестандартні протоколи). Дана обставина дозволяє спроектувати модулі контролерів послідовного обміну так, щоб з їх допомогою на апаратному рівні можна було реалізувати декілька типів послідовних інтерфейсів. При цьому режим передачі (синхронний або асинхронний) і формат кадру підтримуються на рівні логічних сигналів, а реальні фізичні рівні сигналів для кожного інтерфейсу одержують за допомогою спеціальних ІС, які називають приймачами-передавачами, конверторами, трансиверами.
Серед різних типів вбудованих контролерів послідовного обміну, які входять до складу тих або інших 8-розрядних МК, склався стандарт «де-факто» - модуль UART (Universal Asynchronous Receiver and Transmitter). UART - це універсальний асинхронний приймач-передавач. Проте більшість модулів UART, окрім асинхронного режиму обміну, здатні також реалізувати режим синхронної передачі даних.
Не всі виробники МК використовують термін UART для позначення типу модуля контролера послідовного обміну. Так, в МК фірми Motorola модуль асинхронного прийому/передачі, який підтримує ті ж режими асинхронного обміну, що і UART, прийнято називати SCI (Serial Communication Interface). Слід зазначити, що модуль типа SCI звичайно реалізує тільки режим асинхронного обміну, тобто його функціональні можливості вже в порівнянні з модулями типа UART. Проте бувають і виключення: під тим же ім'ям SCI в МК МС68НС705В16 ховається модуль синхронно-асинхронної передачі даних.
Модулі типа UART в асинхронному режимі роботи дозволяють реалізувати протокол обміну для інтерфейсів RS-232C, RS-422А, RS-485, в синхронному режимі - нестандартні синхронні протоколи обміну, і в деяких моделях - SPI. В МК фірми Motorola традиційно передбачено два модулі послідовного обміну: модуль SCI з можливістю реалізації тільки протоколів асинхронного прийому/передачі для інтерфейсів RS-232C, RS-422A, RS-485 і модуль контролера синхронного інтерфейсу в стандарті SPI.
Протоколи інтерфейсів локальних мереж на основі МК (I2C і CAN) відрізняє складніша логіка роботи. Тому контролери CAN інтерфейсу завжди виконуються у вигляді самостійного модуля. Інтерфейс I2C з можливістю роботи як у ведучому, так і веденому режимі, також звичайно підтримується спеціальним модулем (модуль послідовного порту в МК 89С52 фірми Philips). Але якщо реалізується тільки ведений режим I2C, то в МК PIC16 фірми Microchip він успішно поєднується з SPI: настройка одного і того ж модуля на один з протоколів здійснюється шляхом ініціалізації.
Останнім часом з'явилася велика кількість МК з вбудованими модулями контролерів CAN і модулями універсального послідовного інтерфейсу периферійних пристроїв USB (Universal Serial Bus). Кожний з цих інтерфейсів має достатньо складні протоколи обміну, для ознайомлення з якими слід звертатися до спеціальної літератури.

4.10.2. Модулі аналогового вводу/виводу

Необхідність прийому і формування аналогових сигналів вимагає наявності в МК модулів аналогового вводу/виводу.
Найпростішим пристроєм аналогового введення в МК є вбудований компаратор напруги. Компаратор порівнює вхідну аналогову напругу з опорним потенціалом VREF і встановлює на виході логічну «1», якщо вхідна напруга більше опорної. Компаратори зручніше всього використовувати для контролю певного значення вхідної напруги, наприклад, в термостатах. В комбінації із зовнішнім генератором напруги, що лінійно змінюється, вбудований компаратор дозволяє реалізувати на МК інтегруючий аналого-цифрововий перетворювач (АЦП).
Проте більш широкі можливості для роботи з аналоговими сигналами дає АЦП, вбудований в МК. Частіше за все він реалізується у вигляді модуля багатоканального АЦП, призначеного для введення в МК аналогових сигналів з датчиків фізичних величин і перетворення цих сигналів в двійковий код. Структурна схема типового модуля АЦП представлена на мал. 4.12.




Мал. 4.12. Структура модуля АЦП.

Багатоканальний аналоговий комутатор До служить для підключення одного з джерел аналогових сигналів (PTx0...PTx7) до входу АЦП. Вибір джерела сигналу для перетворення здійснюється за допомогою запису номера каналу комутатора у відповідні розряди регістра управління АЦП.
Два виводи модуля АЦП використовуються для задання опорної напруги Uоп: VREFH - верхня межа Uоп, VREFL - нижня межа. Різниця потенціалів на входах VREFH і VREFL і складає Uоп. Роздільна здатність АЦП складає Uоп/2n, де n - число двійкових розрядів в слові результату. Максимальне значення опорної напруги, як правило, рівне напрузі живлення МК. Якщо вимірювана напруга Uвим > VREFH, то результат перетворення буде рівний FF, код 00 відповідає напругам Uвим Ј VREFL. Для досягнення максимальної точності вимірювання слід вибрати максимально допустиме значення Uоп. В цьому випадку напруга зсуву нуля вхідного буфера і нелінійність передавальної характеристики АЦП вноситимуть відносно малі погрішності.
Власне аналого-цифрововий перетворювач виконаний по методу послідовного наближення. Практично у всіх моделях 8-розрядних МК розрядність АЦП також складає 8 розрядів. Відповідно, формат представлення результатів вимірювання АЦП - однобайтовий. Виняток становлять лише модулі АЦП мікроконтролерів для управління перетворювачами частоти для електроприводів, роздільна здатність яких рівна 10 розрядам. Два молодші розряди результату одержують за допомогою додаткової ємності подільника, не пов'язаного з регістром послідовного наближення.
Тривалість такту перетворення задає генератор синхронізації: один цикл рівний двом періодам частоти генератора tADC. Час перетворення для типових модулів АЦП мікроконтролерів складає від одиниць до десятків мікросекунд.
Джерелом синхронізації модуля АЦП може служити вбудований RC-генератор (Г) або імпульсна послідовність тактуючих міжмодульних магістралей МК. В першому випадку частота синхронізації АЦП обов'язково виявиться оптимальною, тобто тією, яка рекомендується в технічному описі. В другому випадку вибрана по інших міркуваннях fBUS може виявитися невідповідною для модуля АЦП. На цей випадок у складі деяких модулів передбачений програмований дільник частоти fBUS.
Момент завершення кожного циклу перетворення наголошується установкою трігера готовності даних. Якщо переривання від модуля АЦП дозволені, то генерується запит на переривання. Як правило, читання регістра результату скидає трігер готовності.
Більшість модулів АЦП має тільки режим програмного запуску: установка одного з бітів регістра режиму запускає чергове вимірювання. Самі універсальні модулі АЦП мають також режим автоматичного запуску, при якому після завершення одного циклу перетворення негайно починається наступний. Проте дані вимірювання кожного циклу повинні бути лічені програмним способом.

Цифрово-аналогові перетворювачі у складі МК є великою рідкістю. Функція цифрово-аналогового перетворювача реалізується засобами модуля програмованого таймера в режимі ШІМ. На одному з виводів МК формується високочастотна імпульсна послідовність з регульованою тривалістю імпульсу. Одержаний сигнал згладжується фільтром нижніх частот на операційному підсилювачі. Роздільна здатність такого ЦАП визначається дискретністю регулювання коефіцієнта заповнення в режимі ШІМ.

 

 

попередня тема наступна тема